// User.cpp
#include<iostream>

using namespace std;

import a;

template<typename T> struct S {
constexpr operator bool() const { return true; }
};
template<typename T> requires ((true)(S<T>{}))
void f(T);
 // #1
void f(int){}
 // #2
void g() {
f(0);
}

template<>
void hello<int>()
{
  std::cout<<"main hello"<<std::endl;
}
int main() {
  cout<<a()<<endl;
  auto x=m();

  auto y=x;
  y.hello();
  auto ax=get_a();

  decltype(ax) gx;
  gx.hello();
  //在模块外部,可以进行特化操作
  sayhello(5);
  return 0;
}
